Vytvoření objektu
Obrázek 11 Diagram tříd zodpovědných za vytvoření 3D objektu [zdroj: vlastní]
Na Obrázku 11 jsou dvě třídy, které slouží pro vytváření 3D objektů. Element GeometryModel3D se přidává jako obsah (Content) u elementu ModelVisual3D. Tento element má za úkol vytvořit geometrii objektu – Geometry. Dále obsahuje informace o materiálech, kterými je objekt pokryt – Material, BackMaterial. Umožňuje také nastavit transformaci pro objekt – Transform.
Element MeshGeometry3D vytváří geometrii objektu. Atribut Positions nastavuje kolekci vrcholů (vertexů ) trojúhelníků, které budou pak tvořit kostru objektu. TriangleIndices přiřazuje vertexy z Positions k trojúhelníkům. Ne ze všech vertexů se musí vytvořit trojúhelník. TextureCoordinates slouží pro upřesnění mapování obrázku (textury) na trojúhelník.
Obrázek 45 Definování vrcholů trojúhelníku [zdroj: vlastní]
Na Obrázku 12 jsou jednotlivé body potřebné pro vytvoření trojúhelníku. Na pořadí zápisu bodů u atributu Positions nezáleží. Zapsáním vertexů do Position se nevytvoří trojúhelník. Pro vytvoření trojúhelníku je potřeba zapsat TriangleIndices.
Vrcholy trojúhelníkůPositions=“0,0,1 1,0,0 0,1,0“
TriangleIndices popisuje vytvoření trojúhelníků z bodů. Každý bod v Positions má svůj index a ten se začíná počítat od nuly. V ukázce má bod [1,0,0] index 1. Pomocí indexů jednotlivých bodů se pak definují trojúhelníky. Důležitý je směr, ve kterém budou zapisovány vrcholy trojúhelníku. Na Obrázku 28 šipky označují směr proti hodinovým ručičkám. Pokud je takto trojúhelník definován, aplikuje se z tohoto pohledu – Material. Ve směru hodinových ručiček se aplikuje – BackMaterial. Při definování trojúhelníku, nezáleží na pořadí vrcholů. Důležitý je pouze směr zápisu.
Definování trojúhelníkůTriangleIndices=“2 0 1“Ukázkové řešení: 3D Grafika/Trojuhelník